package com.example.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mall.domain.Order;
import com.example.mall.domain.PayOrder;
import com.example.mall.dto.PayOrderDto;
import com.example.mall.query.PageDTO;
import com.example.mall.query.PayOrderQuery;
import com.example.mall.to.PlaceProductOrderTo;

import java.util.List;


/**
 * <p>
 * 支付订单表 服务类
 * </p>
 *
 * @author whale
 * @since 2025-06-03
 */
public interface IPayOrderService extends IService<PayOrder> {

    //分页查询支付订单表信息
    PageDTO<PayOrderDto> queryPage(PayOrderQuery payOrderQuery);

    //根据id查询支付订单表信息
    PayOrder queryPayOrderById(Long id);

    //查询全部支付订单表信息
    List<PayOrder> queryPayOrderList();

    //新增支付订单表
    void insert(PayOrderDto payOrderDto);

    //修改支付订单表信息
    void update(PayOrderDto payOrderDto);

    //删除支付订单表信息
    void delete(Long id);

    //批量删除支付订单表信息
    void deleteBatch(List<Long> ids);
    PayOrder selectByOrderNo(String orderNo);

    void savePayOrder(PlaceProductOrderTo placeProductOrderTo);

    PayOrder savePayOrder(Order order);

    void closeOrder(PlaceProductOrderTo placeProductOrderTo);
}
